[INFO] cloning repository https://github.com/zhiburt/rtiow
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zhiburt/rtiow" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhiburt%2Frtiow", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhiburt%2Frtiow'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6d957e440861dafa632baea0d5f618f60986083b
[INFO] checking zhiburt/rtiow against master#cced03bfd61a304243a34504618ecec86c17063f for pr-157082
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhiburt%2Frtiow" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zhiburt/rtiow
[INFO] finished tweaking git repo https://github.com/zhiburt/rtiow
[INFO] tweaked toml for git repo https://github.com/zhiburt/rtiow written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zhiburt/rtiow on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zhiburt/rtiow already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f75ac8452d3467c7a0a09a50550c5e38f51528cb26aa0fead79d23a6b02242dd
[INFO] running `Command { std: "docker" "start" "f75ac8452d3467c7a0a09a50550c5e38f51528cb26aa0fead79d23a6b02242dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f75ac8452d3467c7a0a09a50550c5e38f51528cb26aa0fead79d23a6b02242dd" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f75ac8452d3467c7a0a09a50550c5e38f51528cb26aa0fead79d23a6b02242dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f75ac8452d3467c7a0a09a50550c5e38f51528cb26aa0fead79d23a6b02242dd" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand_chacha v0.2.0
[INFO] [stderr]     Checking c2-chacha v0.2.2
[INFO] [stderr]     Checking getrandom v0.1.6
[INFO] [stderr]     Checking rand_core v0.5.0
[INFO] [stderr]     Checking rand v0.7.0
[INFO] [stderr]     Checking learning_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `dot`
[INFO] [stdout]  --> src/core_grafic/hitable_list.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::vec3::{dot, Vec3};
[INFO] [stdout]   |                   ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RGB`
[INFO] [stdout]  --> src/core_grafic/material.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::vec3::{Vec3, RGB, dot};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dot`
[INFO] [stdout]  --> src/main.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core_grafic::vec3::{RGB, Vec3, dot};
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core_grafic/hitable.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub material: Rc<Material>,
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub material: Rc<dyn Material>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/core_grafic/sphere.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 |     material: std::rc::Rc<Material>,
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     material: std::rc::Rc<dyn Material>,
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/core_grafic/hitable_list.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     list: Vec<Box<Hitable>>,
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     list: Vec<Box<dyn Hitable>>,
[INFO] [stdout]   |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn color(r: Ray, world: &mut Hitable, depth: i32) -> Vec3 {
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn color(r: Ray, world: &mut dyn Hitable, depth: i32) -> Vec3 {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn random_scene(n: usize) -> Box<Hitable> {
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn random_scene(n: usize) -> Box<dyn Hitable> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core_grafic/sphere.rs:13:48
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(c: Vec3, r: f64, m: std::rc::Rc<Material>) -> Sphere {
[INFO] [stdout]    |                                                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(c: Vec3, r: f64, m: std::rc::Rc<dyn Material>) -> Sphere {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core_grafic/hitable_list.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(v: Vec<Box<Hitable>>) -> HitableList {
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(v: Vec<Box<dyn Hitable>>) -> HitableList {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut list = Vec::<Box<Hitable>>::with_capacity(n);
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut list = Vec::<Box<dyn Hitable>>::with_capacity(n);
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> src/core_grafic/material.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<(Vec3, Ray)> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/core_grafic/material.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut outword_normal: Vec3;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ni_over_nt` is never read
[INFO] [stdout]   --> src/core_grafic/material.rs:77:31
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut  ni_over_nt = 0.0;
[INFO] [stdout]    |                               ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 87 |             ni_over_nt = 1.0 / self.ref_index;
[INFO] [stdout]    |             --------------------------------- `ni_over_nt` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cosine` is never read
[INFO] [stdout]   --> src/core_grafic/material.rs:78:26
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let mut cosine = 0.0;
[INFO] [stdout]    |                          ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 88 |             cosine = (-1.0 * dot(r_in.direction(), &rec.normal)) / r_in.direction().length();
[INFO] [stdout]    |             -------------------------------------------------------------------------------- `cosine` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `reflect_prob` is never read
[INFO] [stdout]   --> src/core_grafic/material.rs:79:32
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let mut reflect_prob = 0.0;
[INFO] [stdout]    |                                ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 93 |                 reflect_prob = schlick(cosine, self.ref_index);
[INFO] [stdout]    |                 ---------------------------------------------- `reflect_prob` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/main.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |             for s in 0..ns {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let mut i = 1;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/main.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     i += 1;
[INFO] [stdout]     |     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 103 |     list.push(Box::new(Sphere::new(Vec3::new(-4.0, 1.0, 0.0), 1.0, std::rc::Rc::new(Lambertian::new(Vec3::new(0.4, 0.2, 0.1))))));
[INFO] [stdout] 104 |     i += 1;
[INFO] [stdout]     |     ------ `i` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/main.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     i += 1;
[INFO] [stdout]     |     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 105 |     list.push(Box::new(Sphere::new(Vec3::new(4.0, 1.0, 0.0), 1.0, std::rc::Rc::new(Metal::new(Vec3::new(0.7, 0.6, 0.5), 0.0)))));
[INFO] [stdout] 106 |     i += 1;
[INFO] [stdout]     |     ------ `i` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/main.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     i += 1;
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]   --> src/main.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 i += 1;
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_in_unit_sphere` is never used
[INFO] [stdout]   --> src/main.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn random_in_unit_sphere() -> Vec3 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `w` is never read
[INFO] [stdout]   --> src/core_grafic/camera.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     w: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dot`
[INFO] [stdout]  --> src/core_grafic/hitable_list.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::vec3::{dot, Vec3};
[INFO] [stdout]   |                   ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RGB`
[INFO] [stdout]  --> src/core_grafic/material.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::vec3::{Vec3, RGB, dot};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dot`
[INFO] [stdout]  --> src/main.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core_grafic::vec3::{RGB, Vec3, dot};
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core_grafic/hitable.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub material: Rc<Material>,
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub material: Rc<dyn Material>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/core_grafic/sphere.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 |     material: std::rc::Rc<Material>,
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     material: std::rc::Rc<dyn Material>,
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/core_grafic/hitable_list.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     list: Vec<Box<Hitable>>,
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     list: Vec<Box<dyn Hitable>>,
[INFO] [stdout]   |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn color(r: Ray, world: &mut Hitable, depth: i32) -> Vec3 {
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn color(r: Ray, world: &mut dyn Hitable, depth: i32) -> Vec3 {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn random_scene(n: usize) -> Box<Hitable> {
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn random_scene(n: usize) -> Box<dyn Hitable> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core_grafic/sphere.rs:13:48
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(c: Vec3, r: f64, m: std::rc::Rc<Material>) -> Sphere {
[INFO] [stdout]    |                                                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(c: Vec3, r: f64, m: std::rc::Rc<dyn Material>) -> Sphere {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core_grafic/hitable_list.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(v: Vec<Box<Hitable>>) -> HitableList {
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(v: Vec<Box<dyn Hitable>>) -> HitableList {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut list = Vec::<Box<Hitable>>::with_capacity(n);
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut list = Vec::<Box<dyn Hitable>>::with_capacity(n);
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> src/core_grafic/material.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<(Vec3, Ray)> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/core_grafic/material.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut outword_normal: Vec3;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ni_over_nt` is never read
[INFO] [stdout]   --> src/core_grafic/material.rs:77:31
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut  ni_over_nt = 0.0;
[INFO] [stdout]    |                               ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 87 |             ni_over_nt = 1.0 / self.ref_index;
[INFO] [stdout]    |             --------------------------------- `ni_over_nt` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cosine` is never read
[INFO] [stdout]   --> src/core_grafic/material.rs:78:26
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let mut cosine = 0.0;
[INFO] [stdout]    |                          ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 88 |             cosine = (-1.0 * dot(r_in.direction(), &rec.normal)) / r_in.direction().length();
[INFO] [stdout]    |             -------------------------------------------------------------------------------- `cosine` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `reflect_prob` is never read
[INFO] [stdout]   --> src/core_grafic/material.rs:79:32
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let mut reflect_prob = 0.0;
[INFO] [stdout]    |                                ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 93 |                 reflect_prob = schlick(cosine, self.ref_index);
[INFO] [stdout]    |                 ---------------------------------------------- `reflect_prob` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/main.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |             for s in 0..ns {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let mut i = 1;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/main.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     i += 1;
[INFO] [stdout]     |     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 103 |     list.push(Box::new(Sphere::new(Vec3::new(-4.0, 1.0, 0.0), 1.0, std::rc::Rc::new(Lambertian::new(Vec3::new(0.4, 0.2, 0.1))))));
[INFO] [stdout] 104 |     i += 1;
[INFO] [stdout]     |     ------ `i` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/main.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     i += 1;
[INFO] [stdout]     |     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 105 |     list.push(Box::new(Sphere::new(Vec3::new(4.0, 1.0, 0.0), 1.0, std::rc::Rc::new(Metal::new(Vec3::new(0.7, 0.6, 0.5), 0.0)))));
[INFO] [stdout] 106 |     i += 1;
[INFO] [stdout]     |     ------ `i` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/main.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     i += 1;
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]   --> src/main.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 i += 1;
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_in_unit_sphere` is never used
[INFO] [stdout]   --> src/main.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn random_in_unit_sphere() -> Vec3 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `w` is never read
[INFO] [stdout]   --> src/core_grafic/camera.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     w: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.94s
[INFO] running `Command { std: "docker" "inspect" "f75ac8452d3467c7a0a09a50550c5e38f51528cb26aa0fead79d23a6b02242dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f75ac8452d3467c7a0a09a50550c5e38f51528cb26aa0fead79d23a6b02242dd", kill_on_drop: false }`
[INFO] [stdout] f75ac8452d3467c7a0a09a50550c5e38f51528cb26aa0fead79d23a6b02242dd
